Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Twórca Gier


Web Kam

Rekomendowane odpowiedzi

Opublikowano

Witam,

Jestem zainteresowany stworzeniem własnej gry, próbuje powolutku ogarniać podstawowe języki które są niezbędne do stworzenia gry.

Jednak nie w tym rzecz, chciał bym się dowiedzieć czy jest ktoś na tym forum kto stworzył własną grę. Nie chodzi mi tu o przerobieni gry np. Vallheru zmienienie tylko logo może 2 nazw przedmiotów. Mam tu namyśli bardziej sobą naprawdę kreatywną, która ma już za sobą stworzenie swojej gry od zera. Ktoś kto może powiedzieć, że on jest prawdziwym twórcą a nie tylko potrafi zmieniać wybrane części kodu czy to php jp itp.

Proszę o komentowanie, może uważacie że osoby przerabiające silniki można stawiać na równi ludzi tworzącymi cegiełka po cegiełce swoje misterne plany. Mile widziane są też poradny.

Specjalista
Opublikowano

Ja napisałem, ale dosyć prostacki , gdyż był tylko dla przetestowania moich umiejętności

Oczywiście php/mysql , a teraz bawię z dynamicznymi efektami na stronie ;)

Opublikowano

Nasz może jakieś dobre stronki do nauki bo ja aktualnie uczę się php z strony phpkurs.pl natomiast msql tylko troszkę czytałem co to jest gdzie go się stosuje, takie podstawy.

Specjalista
Opublikowano

Ja przerabiałem php i mysql z książek pdf , niestety większość po anielsku , ale ja patrzyłem tylko na kod i go analizowałem odpowiednio.

Dodatkowo oglądałem video tutoriale na youtube , jest tego mnóstwo i oczywiście jest to ciekawe ;)

Mimo iż znam angielski , ale jestem może na poziomie lekko-zaawansowanym.

Opublikowano

polecam filmy na YouTube aktualnie sam się uczę :) i jak się uczysz to weź sobie jakiś prosty silnik i po pacz co i jak dział w nim i próbuj sam coś napisać :P

Specjalista
Opublikowano

Loney,

Patrzenie na proste silniki uczy złych nawyków, wiem to po sobie .

Na początku chciałem rozkminić strukturę jak to wszystko napisać...

Ok, sciągłem kilka silniczków i załapałem.

Piszę później swój na podstawie struktury innych plików.

Ale niestety gdy dostaję książkę "php expert" chyba tak się to nazywało, to musiałem poprawić się aż w ok 85% ;(

Co wpłyneło na dodatkową naukę oraz inny tok myślenia .

Opublikowano

No właśnie nie wiem czy przerabianie innych silników jest dobrym pomysłem. Gdy jakaś gra ma błędy sami możemy potem mieć złe nawyki, myślę też, że takie przerabianie ogranicza nas, co nie jest niczym dobrym.

Ale od czegoś trzeba zacząć, więc chyba wolę zam pisać jakieś łatwe skrypty typu: logowanie, rejestracja, walka, przyrost życia co 1h.

Co o tym sądzicie?

@up Nie zdążyłem napisać. Byłeś pierwszy.

Specjalista
Opublikowano

Jeżeli jesteś na początkującym poziomie to jak najbardziej, to będzie czas w którym przyswoisz sobie składnie php oraz zaczniesz mieć jakiś tok myślenia.

Po napisaniu takich skryptów , skocz krok wyżej.

Jakieś nieco bardziej zaawansowane aspekty php.

Czyli zapoznanie się z typowymi atakami na strony www i jak je zabezpieczać.

Korzystanie z własnych funkcji

z czasem dojdziesz do programowania obiektowego

następnie jak już będziesz tak bardzo dobrze wszystko potrafił to możesz skoczyć do jakiegoś freamworka php

 

Ale zanim skoczysz do freamworka , to myślę że pasuje mieć nieco lepsze pojęcie o php/mysql/js i oczywiście podstawy z ich rozszerzeń ;)

Opublikowano

Polecam pisać zawsze od zera. Choć takie silniki czasem uczą. Ja np. Dowiedziałem ,się ,że

while($q = mysql_fetch_Array($cos))

daje ten sam efekt co

for($q in mysql_fetch_Array($cos))

Ale też z silników można złapać złe nawyki - brak um. szukania błędów lub nienajlepszy sposób pisania zapytań. Np. w silniku jest :

"select * from Gracze order by Id asc limit 0,30"

A przecie lepsze jest :

"SELECT * FROM Gracze ORDER BY Id ASC LIMIT 0,30"

 

Ja osobiście piszę all od 0, ew. robię sobie "sklejki" z poprzednich projektów.

 

@eXu - no w sumie niby masz rację. Ale o jakie zabezpieczenie przed atakami ? Atakami od JS/JQuery-Ajax czy od programów takich jak Loic ? Jak przed tymi 1 łatwo się zabezpieczyć tak przed Loiciem ciężej ,ale się da.

 

A co do pisania skryptów PHP :

 

PHP można powiedzieć działa tak :

  • Check Syntax Errors
  • Próba wykonania kodu
  • Ew. błędy (limit czasu wykonania pętli, etc.)
  • Podstawienie do kodu np. ($cos[$moko['coos']] "zamienia" na $cos['jakas_kolumna'] )
  • Przeczytania ponowne kodu (wykonanie go)
  • Pokazanie kodu klienckiego
  • Wywalenie błędów niesyntaxowych (lost mysql_connect, etc.)

I jeśli ma się tok myślenia PHP to tworzenie skryptów jest proste.

 

EDIT :

Ja już podczas pisania kodu odłączam się trochę od świata i myślę całkiem inaczej. Wiem co otrzymam zanim wogóle wykona kod, a osoby ,z którymi piszę często mi pomagają nic nie pisząc.

 

 

W dodatku Bartek ,z którym pisałem Ninja World wie i zna trochę lepiej mnie - wie ,że nie robię wcięć bo mi to wszystko jedno, odpowiedź na pytanie znam nawet jak nie myślę logicznie, znajduję rozwiązania i mógłbym napisać grę w tydzień ,ale takie serwisy jak komixxy, demoty, piekielni, mistrzowie, kwejk, besty, youtube nie pozwalają mi się skupić.

 

EDIT2 xD :

Oto mój przykładowy kod :

<?php
session_start();
if(isset($_GET['start_game'])) {
$i = 0;
for($i>=0;$i <75; $i++) {
$bingo_array[$i] = $i+1;
}
$i = 0;
for($i>=0;$i<25;$i++) {
$monia = array_rand($bingo_array);
$wynik .= $bingo_array[$monia].' ';
for($liczba>=0;$liczba<75;$liczba++) {
$bingo_array[$liczba] = $bingo_array[$liczba+1];
}
$liczba = 0;
}
echo substr($wynik, 0, strlen($wynik)-1);
} else {
require_once("Layout.php");
$i = 0;
for($i>=0;$i <75; $i++) {
$bingo_array[$i] = $i+1;
}
$pozostalo = 75;
$zrobiono = 1;
?>
<script type="text/javascript">
var i = 0, x, actual_num;
function rand(min, max) {
var argc = arguments.length;
if (argc === 0) {	 min = 0;
 max = 2147483647;
} else if (argc === 1) {
 throw new Error('Warning: mt_rand() expects exactly 2 parameters, 1 given');
}
var score = Math.floor(Math.random() * (max - min + 1));
score = parseInt(score) + parseInt(min);
return score;
}
var bingo_array = Array ('1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31', '32', '33', '34', '35', '36', '37', '38', '39', '40', '41', '42', '43', '44', '45', '46', '47', '48', '49', '50', '51', '52', '53', '54', '55', '56', '57', '58', '59', '60', '61', '62', '63', '64', '65', '66', '67', '68', '69', '70', '71', '72', '73', '74', '75');

var saldo, tryxonoxa = 0, interwalek;
function play() {
saldo = document.getElementById("saldo").innerHTML;
if(saldo < 100) {
alert("Nie masz pieniędzy !");
} else {
//Gramy dziwki !
document.getElementById('Play').innerHTML ="";
interwalek = setInterval('rand_number(); tryxonoxa++; if(tryxonoxa ==25) { clearInterval(interwalek); alert("Koniec gry !");}', 4000);
}
}
var zrobiono, liczba, pozostalo = 75, zamko, array_of_done = Array, aodi = 0;
function rand_number() {
liczba = rand(1, pozostalo) - 1;
if(document.getElementById("actual_num").innerHTML == "") {
document.getElementById("actual_num").innerHTML = bingo_array[liczba];
} else {
document.getElementById("last_nums").innerHTML += document.getElementById("actual_num").innerHTML+" ";
document.getElementById("actual_num").innerHTML = bingo_array[liczba];
}
actual_num = bingo_array[liczba];
array_of_done[aodi] = bingo_array[liczba];
aodi++;
//Wypierdalaj z tablicy ale już ! -,-
zamko = 0;
for(liczba>=0;liczba<75;liczba++) {
bingo_array[liczba] = bingo_array[liczba+1];
}
pozostalo--;
}
var clicked = Array, exenexe = 0, nostradamus=0;
function check_num(Number) {
for(exenexe>-1;exenexe<=aodi;exenexe++) {
if(array_of_done[exenexe] == Number) {
x = document.getElementById(Number);
x.style.backgroundImage = "url('img/bingo.png')";
clicked[nostradamus] = Number;
nostradamus++;
break;
}
}
}
</script>
<style type="Text/css">
.bingo {
border: 1px solid black;
background-color: white;
}
.bingo td {
border: 1px solid black;
color: black;
font-weight: bold;
width: 50px;
height: 50px;
font-size: 16px;
background-color: white;
background-size: 100% 100%;
}
.numbers {
background-color: white;
border: 1px solid black;
width: 282px;
position: relative;
margin-left: auto;
margin-right: auto;
}
#last_nums {
font-size: 12px;
color: #cfcfcf;
}
#actual_num {
font-size: 16px;
color: #9c9c9c;
font-weight: bold;
}
#Play { color: black; }
</style>

<div class="write">
<h3>Bingo :</h3>
<table border="1" align="center" class="bingo">
<tr>
<?php
//Generuj planszę :
$this_row = 0;
for($zrobiono>0;$zrobiono<=25;$zrobiono++) {
if($this_row == 5) {
echo '<tr>';
$this_row = 0;
}
$liczba = rand(1, $pozostalo) - 1;

echo '<td id="'.$bingo_array[$liczba].'" onclick="check_num('.$bingo_array[$liczba].');">'.$bingo_array[$liczba]; //." ($liczba)"
//$bingo_array[$liczba] = 'null';
$this_row++;
//Teraz desc z tablicy :
$zamko = 0;
for($liczba>=0;$liczba<75;$liczba++) {
$bingo_array[$liczba] = $bingo_array[$liczba+1];
}
$pozostalo--;
}
?>
</table>
<div class="numbers">
<span id="Play" onclick="play();"><b>Graj (100$)</b><br>
Posiadasz <span id="saldo"><b><?=$uzytkownik['Gold'];?></b></span>$
</span>
<span id="actual_num"></span><br>
<span id="last_nums"></span>
</div>
<?include('../foot.html');?>
</div>
<? } ?>

 

EDIT 3 : Kurde tak 6 raz przeczytałem ten post i nie widzę w nim sensu tuż po edicie.

Opublikowano

Jak ja się uczyłem :

Grałem w różne gry typu gladiatus ,plemiona a następnie analizowałem kod jak co mogło być zrobione.

(Nie ucz się c++.Wkurza to.Zamiast grać ja myślę jak ta gra jest zbudowana ;_; )

Przyjmuje zlecenia dot. web masterki.

while(!$success){
....try();
}

 

Opublikowano

Sodema ja mam podobnie gdy w coś gram wiem na jakiej zasadzie to działa i co jest potrzebne w otrzymać taki a nie inny efekt.

Tylko jeszcze mi brakuje znajomości podstawowej składni (jeżeli można tak to ująć). Zdobyłem dzisiaj od kolegi kawał książki wademekum PHP i MSQL mam nadzieję, że pomoże mi w nauce.

Opublikowano

W nauce pomoże pewien nr. gg : 24574437

Btw. Jeżeli to stare wydanie vademecum , to nie czytaj nawet tego :D

Przyjmuje zlecenia dot. web masterki.

while(!$success){
....try();
}

 

Opublikowano

Ehm - to tak. Najważniejsze i bez tego się nie obejdzie to trzeba umieć b.dobrze php i mysql, który moim zdaniem można się nauczyć w tydzień. Do tego przyda się obsługa gimpa - lub kolegę grafika ;). Oczywiście JQuery + JQueryUI - przydatny plugin do JQuery, nie warto męczyć się w czystym JavaScripcie - ale jak kto woli ... Co tu dodać ... pamiętaj o zabezpieczeniach, typu sql injector. Jeśli coś napisałem źle to przepraszam ^^^^^

//gif w sygnie

Opublikowano

który moim zdaniem można się nauczyć w tydzień.

Chyba mamy różne pojęcia słowa "nauka", "nauczyć się". Czym innym jest opanowanie strukturalnego "Hello World!" a czym innym opanowanie wzorców projektowych, jednego z frameworków czy nawet algorymów (podejrzewam, że część niedzielnych programistów nawet do końca nie rozumie zwykłych bloków:).

@up,

Polecam zacząć od Algorytmów i struktur danych Aho, dopiero później zainteresować się jakimś językiem programowania.

Opublikowano

Kurde Sodema jestem z siebie w hu dumny bo jesteś jedyną osobę ,którą coś nauczyłem/wytłumaczyłem i wkurzony bo mam ochotę ci przyje.. :D

@Scolari - tak na 90% zrozumiałem twój post i z niego wnioskuję ,że wolisz najpierw zbudować samochód ,a później nauczyć się co za co odpowiada. Wdł. mnie najpierw każdy powinien poznać podstawy.

Opublikowano

UP@

Może porozmawiamy jeszcze o serwerach Pentagonu ?

Zbędne pierdolenie. On tylko zapytał się o tworzenie gier via www.

Kolejne.

A co szkodzi na drodze nauczyć się podstawowej składni w tydzień ?

No tak, nic dziwnego, że później 90% środowiska z przekąsem pisze "programista" PHP. Popiszecie gościowi, że może napisać super hiper mega projekt w tydzień to weźmie to na poważnie, nabierze wiatru w żagle (Ba! Będzie najlepszy bo napisał strukturalną kupę wzorując się na gotowym engine) i będzie nazywał się profesjonalnym programistą.

niego wnioskuję ,że wolisz najpierw zbudować samochód ,a później nauczyć się co za co odpowiada. Wdł. mnie najpierw każdy powinien poznać podstawy.

Człowiek powinien najpierw zrozumieć podstawową mechanikę (dlatego piszę o algorytmach), by móc programować a nie kopiować kod. Jeżeli ktoś nie rozumie budowy schematu blokowego to jak ma pojąć reverse engineering. Ale jak to mówią programiści dzielą się na tych piszących pascalopodobnie i na resztę. ;)

 

- Dodawanie rekordów

- Usuwanie rekordów

- Aktualizacja rekordów

- Wybieranie rekordów

I tyle nauki MYSQL? A gdzie klucze, wartości tak by programista nie srał za przeproszeniem int(11) nie wiedząc co oznacza? Ktoś tu chyba zbytnio uwierzył w siebie. :)

Specjalista
Opublikowano

@kamvader

Co ty ma na początek symfony polecasz ? Pewnie gdzieś zobaczyłeś książkę o nazwie symfony i już polecasz, a założę się że nie napiszesz nic rozbudowanego w tym freamworku ;)

@desher

C# powiadasz ? No nie jest to złe , ale już bardziej bym jave polecał ;)

@peras

php+mysql nauczysz się w tydzień ? Życzę powodzenie ...

Ja sam się uczyłem, dobre 1mc, żeby ogarniać to poprawnie

Mówisz żeby JS'em nie zawrać sobie głowy ? To chyba nie znasz jeszcze jego potęgi ;)

JS jest specyficznym językiem, ale jak go ogarniesz to masz władzę w ręku + inne fremworki

jQuery będzie potrzebne, i można zapoznać się z dynamicznymi aplikacjami ajax'a

@Scolari

Nie gada głupio , warto poznać struktury,architektury,plany, sam tracę na to teraz czas.

@bnmbb

",że wolisz najpierw zbudować samochód ,a później nauczyć się co za co odpowiada."

Po cześci trafnie napisane, lecz nie do końca.

co z tego że będziesz wiedział co , do czego służy , jak w miejsce sprzęgła dasz hamulec ?

Wcześniej zapoznajesz się z poprawną budową , dopiero uczysz się co tam może być itp i na końcu budujesz ;)

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...